Here's a basic lightning strike I have completed. Just save this as lightning.scr in your global or where-ever folder, and exec in your map when you want it as "exec global/lightning.scr ( xxx xxx xxx )"
Currently modifying this to hit 93 random spots in my Destroyed Village, doing either damage or giving the player more health, both types hit the same random spots.
Change the settings to how you want em
It's called hurtlightning because I use two, one to heal and one to hurt.
Also more fun if you edit your ubersound to setup thunder for all maps and use this as well, just throw it in under the main local.origin:
Code:local.master aliascache thunder1 sound/amb/Amb_Thunder_01.wav soundparms 1.0 0.0 1.0 0.0 3000 6000 auto streamed maps "m dm moh obj train"
Code:main local.origin: //First spawn the lightning and deactivate it local.hurtlightning = spawn func_beam targetname "hurtlightning" local.hurtlightning.origin = local.origin //ground point origin local.hurtlightning.scale = 3.5 //Big main bolt $hurtlightning endpoint ( local.hurtlightning.origin + ( 0 0 2000) ) //Make it stretch into the sky $hurtlightning minoffset 0.0 $hurtlightning maxoffset 13.0 //Makes it squiggly, up to 100 i think? $hurtlightning numsegments 45 //Changes how squiggly, play with these you'll see what I mean. $hurtlightning deactivate $hurtlightning light (1 1 1) //Set the light here since it won't change //Now for small color changing beams to give it a nice look //Beam1 local.hurtlightningeffects1 = spawn func_beam targetname "hurtlightningeffects1" local.hurtlightningeffects1.origin = local.hurtlightning.origin local.hurtlightningeffects1.scale = 1 $hurtlightningeffects1 endpoint ( local.hurtlightning.origin + ( 0 0 3000 ) ) $hurtlightningeffects1 minoffset 0.0 $hurtlightningeffects1 maxoffset 20.0 $hurtlightningeffects1 numsegments 30 $hurtlightningeffects1 deactivate //Beam2 local.hurtlightningeffects2 = spawn func_beam targetname "hurtlightningeffects2" local.hurtlightningeffects2.origin = local.hurtlightning.origin local.hurtlightningeffects2.scale = 1 $hurtlightningeffects2 endpoint ( local.hurtlightning.origin + ( 0 0 3000 ) ) $hurtlightningeffects2 minoffset 0.0 $hurtlightningeffects2 maxoffset 20.0 $hurtlightningeffects2 numsegments 30 $hurtlightningeffects2 deactivate //Now setup waits and color while(1) { wait 30 //How often do you want lightning to strike this area? //Play our thunder $world playsound thunder1 //Turn on our beams $hurtlightning activate $hurtlightningeffects1 activate $hurtlightningeffects2 activate //Start changing colors ever 1/2 second, this also determines how long lightning lasts, currently 4 seconds //Since we can't do radiusdamage for 4 seconds we do 8 chunks of half second waits to simulate //Constant damage. Change this down to just one if you only want a quick style lightning strike $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightning.origin 500 200 //Give it damage wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects1.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects2.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightning.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects1.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects2.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects2.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightning.origin 500 150 wait 0.5 $hurtlightningeffects1 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) $hurtlightningeffects2 light ((randomfloat(0.999)) (randomfloat(0.999)) (randomfloat(0.999))) radiusdamage $hurtlightningeffects1.origin 500 150 //Turn everything back off $hurtlightningeffects1 lightOff $hurtlightningeffects2 lightOff $hurtlightning deactivate $hurtlightningeffects1 deactivate $hurtlightningeffects2 deactivate } end


Reply With Quote
